/**
 * 18. 货物摆放
 * https://www.lanqiao.cn/problems/1463/learning/?page=1&first_category_id=1&second_category_id=3&tag_relation=intersection&tags=2021,%E7%9C%81%E8%B5%9B&sort=pass_rate&asc=0
 */

import java.util.ArrayList;
import java.util.Scanner;

/**
 对于这个 三个数进行相乘得到一个n 这个数，那么对于这 三个数来说，任何一个数都是n这个数的因子
 任何一个因子都可以 整除这个n目标值。
 如果进行暴力枚举的话，是存在很多无效的组合的，所以这里只需要统计这个n的所有因子，之后使用因子进行组合
 */
public class Main23 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        long n = 2021041820210418L;
        // 使用数组进行存储所有的因子
        ArrayList<Long> list = new ArrayList<>();

        // 进行遍历，这个的上界只需要是 n的平方根即可，因为在找到一个因子之后，就可以根据这个因子找到另一个大的因子
        for(long i = 1;i < Math.sqrt(n);i++) {
            if(n % i == 0) {
                // 可以被整除，说明这个i是一个因子，统计起来
                list.add(i);

                // 计算另一个对应的因子
                long x = n / i;

                // 这里需要进行判断一下，这个因子是否和 i 这个因子一致的情况，比如就是n为4，而i为2，那么这个x也为2，就出现相同的因子，
                // 后面是遍历这个list，所以不需要统计重复的因子
                if(x != i) {
                    list.add(x); // 只有不相等的时候，才可以进行统计
                }
            }
        }

        // 遍历这个list链表，进行计算
        long count = 0;
        for(long i : list) {
            for(long j : list) {
                for(long k : list) {
                    if(i * j * k == n) {
                        count++;
                    }
                }
            }
        }
        System.out.println(count);
        scan.close();
    }
}
